Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_input.c
Show First 20 Lines • Show All 1,381 Lines • ▼ Show 20 Lines | |||||
#ifdef TCPDEBUG | #ifdef TCPDEBUG | ||||
if (so->so_options & SO_DEBUG) | if (so->so_options & SO_DEBUG) | ||||
tcp_trace(TA_INPUT, ostate, tp, | tcp_trace(TA_INPUT, ostate, tp, | ||||
(void *)tcp_saveipgen, &tcp_savetcp, 0); | (void *)tcp_saveipgen, &tcp_savetcp, 0); | ||||
#endif | #endif | ||||
TCP_PROBE3(debug__input, tp, th, m); | TCP_PROBE3(debug__input, tp, th, m); | ||||
tcp_dooptions(&to, optp, optlen, TO_SYN); | tcp_dooptions(&to, optp, optlen, TO_SYN); | ||||
#ifdef TCP_RFC7413 | #ifdef TCP_RFC7413 | ||||
if (syncache_add(&inc, &to, th, inp, &so, m, NULL, NULL)) | if (syncache_add(&inc, &to, th, inp, so, m, NULL, NULL)) | ||||
goto tfo_socket_result; | goto tfo_socket_result; | ||||
#else | #else | ||||
syncache_add(&inc, &to, th, inp, &so, m, NULL, NULL); | syncache_add(&inc, &to, th, inp, so, m, NULL, NULL); | ||||
#endif | #endif | ||||
/* | /* | ||||
* Entry added to syncache and mbuf consumed. | * Entry added to syncache and mbuf consumed. | ||||
* Only the listen socket is unlocked by syncache_add(). | * Only the listen socket is unlocked by syncache_add(). | ||||
*/ | */ | ||||
if (ti_locked == TI_RLOCKED) { | if (ti_locked == TI_RLOCKED) { | ||||
INP_INFO_RUNLOCK(&V_tcbinfo); | INP_INFO_RUNLOCK(&V_tcbinfo); | ||||
ti_locked = TI_UNLOCKED; | ti_locked = TI_UNLOCKED; | ||||
▲ Show 20 Lines • Show All 2,494 Lines • Show Last 20 Lines |