if (ph.data_length + SESSION_CONN_HDR_LEN > max_deq)
return 0;
- return ph.data_length;
+ /* Allow zero legth datagrams */
+ return ph.data_length ? ph.data_length : 1;
}
return svm_fifo_max_dequeue_cons (s->rx_fifo);
if ((rv = fifo_segment_attach (&vcm->segment_main, a)))
{
clib_warning ("svm_fifo_segment_attach ('%s') failed", name);
+ clib_rwlock_writer_unlock (&vcm->segment_table_lock);
return rv;
}
hash_set (vcm->segment_table, segment_handle, a->new_segment_indices[0]);
clib_rwlock_writer_unlock (&vcm->segment_table_lock);
- VDBG (0, "detached segment %u handle %u", segment_index, segment_handle);
+ VDBG (0, "detached segment %u handle %lx", segment_index, segment_handle);
}
void