Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F102852540
D44362.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
16 KB
Referenced Files
None
Subscribers
None
D44362.diff
View Options
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1680,7 +1680,7 @@
(tp->t_flags & TF_NOOPT))) {
tp->t_flags &= ~TF_SACK_PERMIT;
}
- if (IS_FASTOPEN(tp->t_flags)) {
+ if (tp->t_flags & TF_FASTOPEN) {
if ((to.to_flags & TOF_FASTOPEN) &&
!(tp->t_flags & TF_NOOPT)) {
uint16_t mss;
@@ -1989,7 +1989,7 @@
tcp_log_end_status(tp, TCP_EI_STATUS_RST_IN_FRONT);
goto dropwithreset;
}
- if (IS_FASTOPEN(tp->t_flags)) {
+ if (tp->t_flags & TF_FASTOPEN) {
/*
* When a TFO connection is in SYN_RECEIVED, the
* only valid packets are the initial SYN, a
@@ -2063,7 +2063,7 @@
* If not all the data that was sent in the TFO SYN
* has been acked, resend the remainder right away.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->snd_una != tp->snd_max)) {
tp->snd_nxt = th->th_ack;
tfo_partial_ack = 1;
@@ -2419,7 +2419,7 @@
if (tp->t_state == TCPS_SYN_RECEIVED ||
(tp->t_flags & TF_NEEDSYN)) {
if (tp->t_state == TCPS_SYN_RECEIVED &&
- IS_FASTOPEN(tp->t_flags)) {
+ (tp->t_flags & TF_FASTOPEN)) {
tp->snd_wnd = tiwin;
cc_conn_init(tp);
}
@@ -2467,7 +2467,7 @@
* SYN-RECEIVED* -> FIN-WAIT-1
*/
tp->t_starttime = ticks;
- if (IS_FASTOPEN(tp->t_flags) && tp->t_tfo_pending) {
+ if ((tp->t_flags & TF_FASTOPEN) && tp->t_tfo_pending) {
tcp_fastopen_decrement_counter(tp->t_tfo_pending);
tp->t_tfo_pending = NULL;
}
@@ -2486,7 +2486,7 @@
* snd_cwnd reduction that occurs when a TFO SYN|ACK
* is retransmitted.
*/
- if (!IS_FASTOPEN(tp->t_flags))
+ if (!(tp->t_flags & TF_FASTOPEN))
cc_conn_init(tp);
tcp_timer_activate(tp, TT_KEEP, TP_KEEPIDLE(tp));
}
@@ -3167,7 +3167,7 @@
* connection then we just ignore the text.
*/
tfo_syn = ((tp->t_state == TCPS_SYN_RECEIVED) &&
- IS_FASTOPEN(tp->t_flags));
+ (tp->t_flags & TF_FASTOPEN));
if ((tlen || (thflags & TH_FIN) || (tfo_syn && tlen > 0)) &&
TCPS_HAVERCVDFIN(tp->t_state) == 0) {
tcp_seq save_start = th->th_seq;
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -239,10 +239,10 @@
* only allow the initial SYN or SYN|ACK and those sent
* by the retransmit timer.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
((tp->t_state == TCPS_SYN_SENT) ||
- (tp->t_state == TCPS_SYN_RECEIVED)) &&
- SEQ_GT(tp->snd_max, tp->snd_una) && /* initial SYN or SYN|ACK sent */
+ (tp->t_state == TCPS_SYN_RECEIVED)) &&
+ SEQ_GT(tp->snd_max, tp->snd_una) && /* SYN or SYN|ACK sent */
(tp->snd_nxt != tp->snd_una)) /* not a retransmit */
return (0);
@@ -436,7 +436,7 @@
* When sending additional segments following a TFO SYN|ACK,
* do not include the SYN bit.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->t_state == TCPS_SYN_RECEIVED))
flags &= ~TH_SYN;
off--, len++;
@@ -464,7 +464,7 @@
*
* - When the socket is in the CLOSED state (RST is being sent)
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(((flags & TH_SYN) && (tp->t_rxtshift > 0)) ||
((tp->t_state == TCPS_SYN_SENT) &&
(tp->t_tfo_client_cookie_len == 0)) ||
@@ -801,7 +801,7 @@
* have caused the original SYN or SYN|ACK to have
* been dropped by a middlebox.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->t_rxtshift == 0)) {
if (tp->t_state == TCPS_SYN_RECEIVED) {
to.to_tfo_len = TCP_FASTOPEN_COOKIE_LEN;
@@ -875,7 +875,7 @@
* If we wanted a TFO option to be added, but it was unable
* to fit, ensure no data is sent.
*/
- if (IS_FASTOPEN(tp->t_flags) && wanted_cookie &&
+ if ((tp->t_flags & TF_FASTOPEN) && wanted_cookie &&
!(to.to_flags & TOF_FASTOPEN))
len = 0;
}
diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c
--- a/sys/netinet/tcp_stacks/bbr.c
+++ b/sys/netinet/tcp_stacks/bbr.c
@@ -8188,7 +8188,7 @@
* then we just ignore the text.
*/
tfo_syn = ((tp->t_state == TCPS_SYN_RECEIVED) &&
- IS_FASTOPEN(tp->t_flags));
+ (tp->t_flags & TF_FASTOPEN));
if ((tlen || (thflags & TH_FIN) || (tfo_syn && tlen > 0)) &&
TCPS_HAVERCVDFIN(tp->t_state) == 0) {
tcp_seq save_start = th->th_seq;
@@ -8773,7 +8773,7 @@
* If not all the data that was sent in the TFO SYN
* has been acked, resend the remainder right away.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->snd_una != tp->snd_max)) {
tp->snd_nxt = th->th_ack;
tfo_partial = 1;
@@ -8939,7 +8939,7 @@
ctf_do_dropwithreset(m, tp, th, BANDLIM_RST_OPENPORT, tlen);
return (1);
}
- if (IS_FASTOPEN(tp->t_flags)) {
+ if (tp->t_flags & TF_FASTOPEN) {
/*
* When a TFO connection is in SYN_RECEIVED, the only valid
* packets are the initial SYN, a retransmit/copy of the
@@ -9015,7 +9015,7 @@
* processing; else drop segment and return.
*/
if ((thflags & TH_ACK) == 0) {
- if (IS_FASTOPEN(tp->t_flags)) {
+ if (tp->t_flags & TF_FASTOPEN) {
cc_conn_init(tp);
}
return (bbr_process_data(m, th, so, tp, drop_hdrlen, tlen,
@@ -9052,7 +9052,7 @@
/* Drop off any SYN in the send map (probably not there) */
if (thflags & TH_ACK)
bbr_log_syn(tp, to);
- if (IS_FASTOPEN(tp->t_flags) && tp->t_tfo_pending) {
+ if ((tp->t_flags & TF_FASTOPEN) && tp->t_tfo_pending) {
tcp_fastopen_decrement_counter(tp->t_tfo_pending);
tp->t_tfo_pending = NULL;
}
@@ -9074,7 +9074,7 @@
* is not harmless as it would undo the snd_cwnd reduction
* that occurs when a TFO SYN|ACK is retransmitted.
*/
- if (!IS_FASTOPEN(tp->t_flags))
+ if (!(tp->t_flags & TF_FASTOPEN))
cc_conn_init(tp);
}
/*
@@ -11408,7 +11408,7 @@
if ((tp->t_flags & TF_SACK_PERMIT) &&
(to.to_flags & TOF_SACKPERM) == 0)
tp->t_flags &= ~TF_SACK_PERMIT;
- if (IS_FASTOPEN(tp->t_flags)) {
+ if (tp->t_flags & TF_FASTOPEN) {
if (to.to_flags & TOF_FASTOPEN) {
uint16_t mss;
@@ -12062,7 +12062,7 @@
* For TFO connections in SYN_RECEIVED, only allow the initial
* SYN|ACK and those sent by the retransmit timer.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
((tp->t_state == TCPS_SYN_RECEIVED) ||
(tp->t_state == TCPS_SYN_SENT)) &&
SEQ_GT(tp->snd_max, tp->snd_una) && /* initial SYN or SYN|ACK sent */
@@ -12381,7 +12381,7 @@
* When sending additional segments following a TFO SYN|ACK,
* do not include the SYN bit.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->t_state == TCPS_SYN_RECEIVED))
flags &= ~TH_SYN;
sb_offset--, len++;
@@ -12412,7 +12412,7 @@
* actively created socket
* - When the socket is in the CLOSED state (RST is being sent)
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(((flags & TH_SYN) && (tp->t_rxtshift > 0)) ||
((tp->t_state == TCPS_SYN_SENT) &&
(tp->t_tfo_client_cookie_len == 0)) ||
@@ -12422,7 +12422,7 @@
rsm = NULL;
}
/* Without fast-open there should never be data sent on a SYN */
- if ((flags & TH_SYN) && (!IS_FASTOPEN(tp->t_flags)))
+ if ((flags & TH_SYN) && !(tp->t_flags & TF_FASTOPEN))
len = 0;
if (len <= 0) {
/*
@@ -12846,7 +12846,7 @@
* have caused the original SYN or SYN|ACK to have
* been dropped by a middlebox.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->t_rxtshift == 0)) {
if (tp->t_state == TCPS_SYN_RECEIVED) {
to.to_tfo_len = TCP_FASTOPEN_COOKIE_LEN;
@@ -12902,7 +12902,7 @@
* If we wanted a TFO option to be added, but it was unable
* to fit, ensure no data is sent.
*/
- if (IS_FASTOPEN(tp->t_flags) && wanted_cookie &&
+ if ((tp->t_flags & TF_FASTOPEN) && wanted_cookie &&
!(to.to_flags & TOF_FASTOPEN))
len = 0;
}
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -13585,7 +13585,7 @@
* then we just ignore the text.
*/
tfo_syn = ((tp->t_state == TCPS_SYN_RECEIVED) &&
- IS_FASTOPEN(tp->t_flags));
+ (tp->t_flags & TF_FASTOPEN));
if ((tlen || (thflags & TH_FIN) || (tfo_syn && tlen > 0)) &&
TCPS_HAVERCVDFIN(tp->t_state) == 0) {
tcp_seq save_start = th->th_seq;
@@ -14194,7 +14194,7 @@
* If not all the data that was sent in the TFO SYN
* has been acked, resend the remainder right away.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->snd_una != tp->snd_max)) {
/* Was it a partial ack? */
if (SEQ_LT(th->th_ack, tp->snd_max))
@@ -14373,7 +14373,7 @@
ctf_do_dropwithreset(m, tp, th, BANDLIM_RST_OPENPORT, tlen);
return (1);
}
- if (IS_FASTOPEN(tp->t_flags)) {
+ if (tp->t_flags & TF_FASTOPEN) {
/*
* When a TFO connection is in SYN_RECEIVED, the
* only valid packets are the initial SYN, a
@@ -14454,7 +14454,7 @@
* processing; else drop segment and return.
*/
if ((thflags & TH_ACK) == 0) {
- if (IS_FASTOPEN(tp->t_flags)) {
+ if (tp->t_flags & TF_FASTOPEN) {
rack_cc_conn_init(tp);
}
return (rack_process_data(m, th, so, tp, drop_hdrlen, tlen,
@@ -14475,7 +14475,7 @@
* FIN-WAIT-1
*/
tp->t_starttime = ticks;
- if (IS_FASTOPEN(tp->t_flags) && tp->t_tfo_pending) {
+ if ((tp->t_flags & TF_FASTOPEN) && tp->t_tfo_pending) {
tcp_fastopen_decrement_counter(tp->t_tfo_pending);
tp->t_tfo_pending = NULL;
}
@@ -14492,7 +14492,7 @@
* is not harmless as it would undo the snd_cwnd reduction
* that occurs when a TFO SYN|ACK is retransmitted.
*/
- if (!IS_FASTOPEN(tp->t_flags))
+ if (!(tp->t_flags & TF_FASTOPEN))
rack_cc_conn_init(tp);
}
/*
@@ -18198,7 +18198,7 @@
if ((tp->t_flags & TF_SACK_PERMIT) &&
(to.to_flags & TOF_SACKPERM) == 0)
tp->t_flags &= ~TF_SACK_PERMIT;
- if (IS_FASTOPEN(tp->t_flags)) {
+ if (tp->t_flags & TF_FASTOPEN) {
if (to.to_flags & TOF_FASTOPEN) {
uint16_t mss;
@@ -21346,7 +21346,7 @@
* For TFO connections in SYN_RECEIVED, only allow the initial
* SYN|ACK and those sent by the retransmit timer.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->t_state == TCPS_SYN_RECEIVED) &&
SEQ_GT(tp->snd_max, tp->snd_una) && /* initial SYN|ACK sent */
(rack->r_ctl.rc_resend == NULL)) { /* not a retransmit */
@@ -21494,7 +21494,7 @@
* only allow the initial SYN or SYN|ACK and those sent
* by the retransmit timer.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
((tp->t_state == TCPS_SYN_RECEIVED) ||
(tp->t_state == TCPS_SYN_SENT)) &&
SEQ_GT(tp->snd_max, tp->snd_una) && /* initial SYN or SYN|ACK sent */
@@ -21949,7 +21949,8 @@
}
SOCKBUF_LOCK(sb);
if ((sack_rxmit == 0) &&
- (TCPS_HAVEESTABLISHED(tp->t_state) || IS_FASTOPEN(tp->t_flags))) {
+ (TCPS_HAVEESTABLISHED(tp->t_state) ||
+ (tp->t_flags & TF_FASTOPEN))) {
/*
* We are not retransmitting (sack_rxmit is 0) so we
* are sending new data. This is always based on snd_max.
@@ -22075,7 +22076,7 @@
* no data please.
*/
if ((sack_rxmit == 0) &&
- (!IS_FASTOPEN(tp->t_flags))){
+ !(tp->t_flags & TF_FASTOPEN)) {
len = 0;
sb_offset = 0;
}
@@ -22135,7 +22136,7 @@
* When sending additional segments following a TFO SYN|ACK,
* do not include the SYN bit.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->t_state == TCPS_SYN_RECEIVED))
flags &= ~TH_SYN;
}
@@ -22160,7 +22161,7 @@
*
* - When the socket is in the CLOSED state (RST is being sent)
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(((flags & TH_SYN) && (tp->t_rxtshift > 0)) ||
((tp->t_state == TCPS_SYN_SENT) &&
(tp->t_tfo_client_cookie_len == 0)) ||
@@ -22169,7 +22170,7 @@
len = 0;
}
/* Without fast-open there should never be data sent on a SYN */
- if ((flags & TH_SYN) && (!IS_FASTOPEN(tp->t_flags))) {
+ if ((flags & TH_SYN) && !(tp->t_flags & TF_FASTOPEN)) {
len = 0;
}
if ((len > segsiz) && (tcp_dsack_block_exists(tp))) {
@@ -22498,7 +22499,7 @@
{
int app_limited = CTF_JR_SENT_DATA;
- if ((IS_FASTOPEN(tp->t_flags) == 0) &&
+ if ((tp->t_flags & TF_FASTOPEN) == 0 &&
(flags & TH_FIN) &&
(len == 0) &&
(sbused(sb) == (tp->snd_max - tp->snd_una)) &&
@@ -22866,7 +22867,7 @@
* have caused the original SYN or SYN|ACK to have
* been dropped by a middlebox.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
+ if ((tp->t_flags & TF_FASTOPEN) &&
(tp->t_rxtshift == 0)) {
if (tp->t_state == TCPS_SYN_RECEIVED) {
to.to_tfo_len = TCP_FASTOPEN_COOKIE_LEN;
@@ -22964,7 +22965,7 @@
* If we wanted a TFO option to be added, but it was unable
* to fit, ensure no data is sent.
*/
- if (IS_FASTOPEN(tp->t_flags) && wanted_cookie &&
+ if ((tp->t_flags & TF_FASTOPEN) && wanted_cookie &&
!(to.to_flags & TOF_FASTOPEN))
len = 0;
}
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -3282,7 +3282,7 @@
if (tp->t_state != TCPS_SYN_SENT)
return (inp);
- if (IS_FASTOPEN(tp->t_flags))
+ if (tp->t_flags & TF_FASTOPEN)
tcp_fastopen_disable_path(tp);
tp = tcp_drop(tp, errno);
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -1447,7 +1447,7 @@
win = so->sol_sbrcv_hiwat;
ltflags = (tp->t_flags & (TF_NOOPT | TF_SIGNATURE));
- if (V_tcp_fastopen_server_enable && IS_FASTOPEN(tp->t_flags) &&
+ if (V_tcp_fastopen_server_enable && (tp->t_flags & TF_FASTOPEN) &&
(tp->t_tfo_pending != NULL) &&
(to->to_flags & TOF_FASTOPEN)) {
/*
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -397,7 +397,7 @@
}
SOCK_UNLOCK(so);
- if (IS_FASTOPEN(tp->t_flags))
+ if (tp->t_flags & TF_FASTOPEN)
tp->t_tfo_pending = tcp_fastopen_alloc_counter();
out:
@@ -454,7 +454,7 @@
}
SOCK_UNLOCK(so);
- if (IS_FASTOPEN(tp->t_flags))
+ if (tp->t_flags & TF_FASTOPEN)
tp->t_tfo_pending = tcp_fastopen_alloc_counter();
if (error != 0)
@@ -887,8 +887,7 @@
* application response data, or failing that, when the DELACK timer
* expires.
*/
- if (IS_FASTOPEN(tp->t_flags) &&
- (tp->t_state == TCPS_SYN_RECEIVED))
+ if ((tp->t_flags & TF_FASTOPEN) && (tp->t_state == TCPS_SYN_RECEIVED))
goto out;
#ifdef TCP_OFFLOAD
if (tp->t_flags & TF_TOE)
@@ -1095,7 +1094,7 @@
sbflush(&so->so_snd);
goto out;
}
- if (IS_FASTOPEN(tp->t_flags))
+ if (tp->t_flags & TF_FASTOPEN)
tcp_fastopen_connect(tp);
else {
tp->snd_wnd = TTCP_CLIENT_SND_WND;
@@ -1161,7 +1160,7 @@
/*
* Not going to contemplate SYN|URG
*/
- if (IS_FASTOPEN(tp->t_flags))
+ if (tp->t_flags & TF_FASTOPEN)
tp->t_flags &= ~TF_FASTOPEN;
#ifdef INET6
if (isipv6)
@@ -1578,7 +1577,7 @@
default:
break;
}
- if (IS_FASTOPEN(tp->t_flags))
+ if (tp->t_flags & TF_FASTOPEN)
ti->tcpi_options |= TCPI_OPT_TFO;
ti->tcpi_rto = tp->t_rxtcur * tick;
@@ -2685,7 +2684,7 @@
* socket is still open.
*/
if (tp->t_state < TCPS_ESTABLISHED &&
- !(tp->t_state > TCPS_LISTEN && IS_FASTOPEN(tp->t_flags))) {
+ !(tp->t_state > TCPS_LISTEN && (tp->t_flags & TF_FASTOPEN))) {
tp = tcp_close(tp);
KASSERT(tp != NULL,
("tcp_disconnect: tcp_close() returned NULL"));
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -812,14 +812,6 @@
#define ENTER_RECOVERY(t_flags) t_flags |= (TF_CONGRECOVERY | TF_FASTRECOVERY)
#define EXIT_RECOVERY(t_flags) t_flags &= ~(TF_CONGRECOVERY | TF_FASTRECOVERY)
-#if defined(_KERNEL)
-#if !defined(TCP_RFC7413)
-#define IS_FASTOPEN(t_flags) (false)
-#else
-#define IS_FASTOPEN(t_flags) (t_flags & TF_FASTOPEN)
-#endif
-#endif
-
#define BYTES_THIS_ACK(tp, th) (th->th_ack - tp->snd_una)
/*
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Nov 19, 12:26 AM (21 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14707311
Default Alt Text
D44362.diff (16 KB)
Attached To
Mode
D44362: tcp: remove IS_FASTOPEN() macro
Attached
Detach File
Event Timeline
Log In to Comment