STATIC_ASSERT_FITS_IN (vlib_buffer_t, buffer_pool_index, 16);
#endif
-/* Make sure that buffer template size is not accidentally changed */
-STATIC_ASSERT_OFFSET_OF (vlib_buffer_t, template_end, 64);
-
u16 __vlib_buffer_external_hdr_size = 0;
uword
vlib_buffer_alloc_size (uword ext_hdr_size, uword data_size)
{
uword alloc_size = ext_hdr_size + sizeof (vlib_buffer_t) + data_size;
- alloc_size = CLIB_CACHE_LINE_ROUND (alloc_size);
-
- /* in case when we have even number of cachelines, we add one more for
- * better cache occupancy */
- alloc_size |= CLIB_CACHE_LINE_BYTES;
+ alloc_size = round_pow2 (alloc_size, VLIB_BUFFER_ALIGN);
return alloc_size;
}
continue;
b = (vlib_buffer_t *) (p + bm->ext_hdr_size);
- vlib_buffer_copy_template (b, &bp->buffer_template);
+ b->template = bp->buffer_template;
bi = vlib_get_buffer_index (vm, b);
bp->buffers[bp->n_avail++] = bi;
vlib_get_buffer (vm, bi);
cached += bpt->n_cached;
/* *INDENT-ON* */
- s = format (s, "%-20s%=6d%=6d%=6u%=11u%=6u%=8u%=8u%=8u",
- bp->name, bp->index, bp->numa_node, bp->data_size +
- sizeof (vlib_buffer_t) + vm->buffer_main->ext_hdr_size,
+ s = format (s, "%-20v%=6d%=6d%=6u%=11u%=6u%=8u%=8u%=8u", bp->name, bp->index,
+ bp->numa_node,
+ bp->data_size + sizeof (vlib_buffer_t) +
+ vm->buffer_main->ext_hdr_size,
bp->data_size, bp->n_buffers, bp->n_avail, cached,
bp->n_buffers - bp->n_avail - cached);
continue;
reg.entry_index =
- vlib_stats_add_gauge ("/buffer-pools/%s/cached", bp->name);
+ vlib_stats_add_gauge ("/buffer-pools/%v/cached", bp->name);
reg.collect_fn = buffer_gauges_collect_cached_fn;
vlib_stats_register_collector_fn (®);
- reg.entry_index = vlib_stats_add_gauge ("/buffer-pools/%s/used", bp->name);
+ reg.entry_index = vlib_stats_add_gauge ("/buffer-pools/%v/used", bp->name);
reg.collect_fn = buffer_gauges_collect_used_fn;
vlib_stats_register_collector_fn (®);
reg.entry_index =
- vlib_stats_add_gauge ("/buffer-pools/%s/available", bp->name);
+ vlib_stats_add_gauge ("/buffer-pools/%v/available", bp->name);
reg.collect_fn = buffer_gauges_collect_available_fn;
vlib_stats_register_collector_fn (®);
}