summaryrefslogtreecommitdiffstats
path: root/src/vnet/tcp/tcp.h
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-07-03 19:51:02 -0700
committerDamjan Marion <dmarion@me.com>2019-07-05 11:58:34 +0000
commiteff6b82e905f39aa740db38341626d8d615282fa (patch)
tree02276211c966f7f89abdf78b0bff7462521de8f5 /src/vnet/tcp/tcp.h
parenta3c3265b20c2a382656957b4afd2003bddccd9bb (diff)
tcp: add cc algo undo recovery notification
Type:feature Change-Id: Iedefe87555f0a0033abed8569bc2995c8f523d7e Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/tcp/tcp.h')
-rw-r--r--src/vnet/tcp/tcp.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/vnet/tcp/tcp.h b/src/vnet/tcp/tcp.h
index 2bc6f22ba83..f2626af9da8 100644
--- a/src/vnet/tcp/tcp.h
+++ b/src/vnet/tcp/tcp.h
@@ -387,6 +387,7 @@ struct _tcp_cc_algorithm
void (*congestion) (tcp_connection_t * tc);
void (*loss) (tcp_connection_t * tc);
void (*recovered) (tcp_connection_t * tc);
+ void (*undo_recovery) (tcp_connection_t * tc);
};
/* *INDENT-ON* */
@@ -965,6 +966,19 @@ tcp_cc_loss (tcp_connection_t * tc)
tc->cc_algo->loss (tc);
}
+static inline void
+tcp_cc_recovered (tcp_connection_t * tc)
+{
+ tc->cc_algo->recovered (tc);
+}
+
+static inline void
+tcp_cc_undo_recovery (tcp_connection_t * tc)
+{
+ if (tc->cc_algo->undo_recovery)
+ tc->cc_algo->undo_recovery (tc);
+}
+
always_inline void
tcp_timer_set (tcp_connection_t * tc, u8 timer_id, u32 interval)
{