Type: fix
Change-Id: Ia362ad821db1fd506e973e1844cc3ec74703cc17
Signed-off-by: Florin Coras <fcoras@cisco.com>
return 0;
memset (f, 0, sizeof (*f));
}
+ else
+ {
+ fsh->free_fifos = f->next;
+ }
fl_index = fs_freelist_for_size (data_bytes) - 1;
vec_validate_init_empty (fsh->free_chunks, fl_index, 0);
f->ooos_list_head = OOO_SEGMENT_INVALID_INDEX;
f->segment_index = SVM_FIFO_INVALID_INDEX;
f->refcnt = 1;
- f->flags = 0;
+ f->head = f->tail = f->flags = 0;
f->head_chunk = f->tail_chunk = f->ooo_enq = f->ooo_deq = f->start_chunk;
}
break;
case SESSION_IO_EVT_BUILTIN_TX:
case SESSION_CTRL_EVT_CLOSE:
+ case SESSION_CTRL_EVT_RESET:
evt->session_handle = session_handle ((session_t *) data);
break;
default:
s = session_get (tc->s_index, tc->thread_index);
ASSERT (s->thread_index == vlib_get_thread_index ());
+ ASSERT (s->session_state < SESSION_STATE_TRANSPORT_DELETED);
if (!(s->flags & SESSION_F_CUSTOM_TX))
{
s->flags |= SESSION_F_CUSTOM_TX;