summaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorAndreas Schultz <aschultz@warp10.net>2017-12-08 15:12:36 +0100
committerFlorin Coras <florin.coras@gmail.com>2017-12-10 02:48:38 +0000
commitc1214bd1b619d3f566be5a1783cfe717ee608136 (patch)
tree7077f7d7bfae2f3f235ab94427ed5b88776b2449 /src/vnet
parent82d8ec2571720310f0a7c41deeba30534be28ed0 (diff)
make sure the very first fragment triggers an rx_callback
On the first session server, the first payload packet gets queued but the Rx callback will only be invoked when the second packet is received. By initializing enqueue_epoch in the session, we can make sure that the RX callback will be invoked for the first packet as well. Change-Id: I60e2cf8d4d2ca71d461ca003d459c8e6e6956a4d Signed-off-by: Andreas Schultz <aschultz@warp10.net>
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/session/session.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index b1bd7a7f041..616bfc9f150 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -147,6 +147,7 @@ session_alloc_for_connection (transport_connection_t * tc)
s = session_alloc (thread_index);
s->session_type = session_type_from_proto_and_ip (tc->proto, tc->is_ip4);
s->session_state = SESSION_STATE_CONNECTING;
+ s->enqueue_epoch = ~0;
/* Attach transport to session and vice versa */
s->connection_index = tc->c_index;