session: fix node enable sequence 83/20683/1
authorVladimir Kropylev <vladimir.kropylev@enea.com>
Tue, 16 Jul 2019 18:32:41 +0000 (21:32 +0300)
committerVladimir Kropylev <vladimir.kropylev@enea.com>
Tue, 16 Jul 2019 18:32:41 +0000 (21:32 +0300)
commita2e4451db8bab5467f8cf490bdb9a020af10ef8c
tree74d546eec2eaaa76abca2b0bc6a48a7a9cf4d675
parentb659020337e3e72f7480098dbee93b45d4dec1f2
session: fix node enable sequence

Type: fix

Change the sequence to first allocate session_manager and
then enable the session-nodes.

During “session enable”, sometimes an issue was seen when in some cases
POLLING node calls transport_update_time -> tcp_update_time -> tcp_set_time_now
which access tcp_main.wrk_ctx before tcp_main_enable allocates the wrk_ctx.

0  0x00007ffff73f7778 in tcp_set_time_now (wrk=<optimized out>)
    at src/vnet/tcp/tcp.h:953
1  tcp_update_time (now=11.059735140000001, thread_index=<optimized out>)
    at src/vnet/tcp/tcp.c:1192
2  0x00007ffff75a75de in transport_update_time (time_now=11.059735140000001, thread_index=thread_index@entry=1 '\001')
    at src/vnet/session/transport.c:740
3  0x00007ffff75a0f4c in session_queue_node_fn (vm=0x7fff74913480, node=0x7fff75e7d5c0, frame=<optimized out>)
    at src/vnet/session/session_node.c:873

Change-Id: Id2288dd05ba179af2ff22c58bac1331fc21a1c7d
Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
src/vnet/session/session.c