Lines 1557-1580
Link Here
|
1557 |
if (TSTMP_GT(to.to_tsecr, tcp_ts_getticks())) |
1557 |
if (TSTMP_GT(to.to_tsecr, tcp_ts_getticks())) |
1558 |
to.to_tsecr = 0; |
1558 |
to.to_tsecr = 0; |
1559 |
} |
1559 |
} |
1560 |
/* |
|
|
1561 |
* If timestamps were negotiated during SYN/ACK they should |
1562 |
* appear on every segment during this session and vice versa. |
1563 |
*/ |
1564 |
if ((tp->t_flags & TF_RCVD_TSTMP) && !(to.to_flags & TOF_TS)) { |
1565 |
if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { |
1566 |
log(LOG_DEBUG, "%s; %s: Timestamp missing, " |
1567 |
"no action\n", s, __func__); |
1568 |
free(s, M_TCPLOG); |
1569 |
} |
1570 |
} |
1571 |
if (!(tp->t_flags & TF_RCVD_TSTMP) && (to.to_flags & TOF_TS)) { |
1572 |
if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { |
1573 |
log(LOG_DEBUG, "%s; %s: Timestamp not expected, " |
1574 |
"no action\n", s, __func__); |
1575 |
free(s, M_TCPLOG); |
1576 |
} |
1577 |
} |
1578 |
|
1560 |
|
1579 |
/* |
1561 |
/* |
1580 |
* Process options only when we get SYN/ACK back. The SYN case |
1562 |
* Process options only when we get SYN/ACK back. The SYN case |
Lines 1607-1612
Link Here
|
1607 |
} |
1589 |
} |
1608 |
|
1590 |
|
1609 |
/* |
1591 |
/* |
|
|
1592 |
* If timestamps were negotiated during SYN/ACK they should |
1593 |
* appear on every segment during this session and vice versa. |
1594 |
*/ |
1595 |
if ((tp->t_flags & TF_RCVD_TSTMP) && !(to.to_flags & TOF_TS)) { |
1596 |
if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { |
1597 |
log(LOG_DEBUG, "%s; %s: Timestamp missing, " |
1598 |
"no action\n", s, __func__); |
1599 |
free(s, M_TCPLOG); |
1600 |
} |
1601 |
} |
1602 |
if (!(tp->t_flags & TF_RCVD_TSTMP) && (to.to_flags & TOF_TS)) { |
1603 |
if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { |
1604 |
log(LOG_DEBUG, "%s; %s: Timestamp not expected, " |
1605 |
"no action\n", s, __func__); |
1606 |
free(s, M_TCPLOG); |
1607 |
} |
1608 |
} |
1609 |
|
1610 |
/* |
1610 |
* Header prediction: check for the two common cases |
1611 |
* Header prediction: check for the two common cases |
1611 |
* of a uni-directional data xfer. If the packet has |
1612 |
* of a uni-directional data xfer. If the packet has |
1612 |
* no control flags, is in-sequence, the window didn't |
1613 |
* no control flags, is in-sequence, the window didn't |