if (vec_len (hi->tx_queue_indices))
{
s = format (s, "\n%UTX Queues:", format_white_space, indent + 2);
- s = format (s, "\n%U%-6s%-15s", format_white_space, indent + 4, "queue",
- "thread(s)");
+ s = format (
+ s, "\n%UTX Hash: %U", format_white_space, indent + 4, format_vnet_hash,
+ vnet_hash_function_from_func (hi->hf, hw_class->tx_hash_fn_type));
+ s = format (s, "\n%U%-6s%-7s%-15s", format_white_space, indent + 4,
+ "queue", "shared", "thread(s)");
for (int i = 0; i < vec_len (hi->tx_queue_indices); i++)
{
vnet_hw_if_tx_queue_t *txq;
txq = vnet_hw_if_get_tx_queue (vnm, hi->tx_queue_indices[i]);
- s = format (s, "\n%U%-6u%U", format_white_space, indent + 4,
- txq->queue_id, format_bitmap_list, txq->threads);
+ s = format (
+ s, "\n%U%-6u%-7s%U", format_white_space, indent + 4, txq->queue_id,
+ clib_bitmap_count_set_bits (txq->threads) > 1 ? "yes" : "no",
+ format_bitmap_list, txq->threads);
}
}
n_printed += 2;
if (n)
- _vec_len (n) = 0;
+ vec_set_len (n, 0);
n = format (n, "%s packets", cm->name);
s = format (s, "%-16v%16Ld", n, vtotal.packets);
- _vec_len (n) = 0;
+ vec_set_len (n, 0);
n = format (n, "%s bytes", cm->name);
s = format (s, "\n%U%-16v%16Ld",
format_white_space, indent, n, vtotal.bytes);
s = format (s, "loop_counter: %d", o->loop_counter);
vec_add1 (s, '\n');
- s = format (s, "gbp.flags: %x, gbp.sclass: %d",
- (u32) (o->gbp.flags), (u32) (o->gbp.sclass));
- vec_add1 (s, '\n');
-
s = format (s, "gso_size: %d, gso_l4_hdr_sz: %d",
(u32) (o->gso_size), (u32) (o->gso_l4_hdr_sz));
vec_add1 (s, '\n');
- s = format (s, "pg_replay_timestamp: %llu", (u32) (o->pg_replay_timestamp));
- vec_add1 (s, '\n');
-
for (i = 0; i < vec_len (im->buffer_opaque2_format_helpers); i++)
{
helper_fp = im->buffer_opaque2_format_helpers[i];