}
u8 *
-format_vnet_hw_interface_rx_mode (u8 * s, va_list * args)
+format_vnet_hw_if_rx_mode (u8 * s, va_list * args)
{
- vnet_hw_interface_rx_mode mode = va_arg (*args, vnet_hw_interface_rx_mode);
+ vnet_hw_if_rx_mode mode = va_arg (*args, vnet_hw_if_rx_mode);
- if (mode == VNET_HW_INTERFACE_RX_MODE_POLLING)
+ if (mode == VNET_HW_IF_RX_MODE_POLLING)
return format (s, "polling");
- if (mode == VNET_HW_INTERFACE_RX_MODE_INTERRUPT)
+ if (mode == VNET_HW_IF_RX_MODE_INTERRUPT)
return format (s, "interrupt");
- if (mode == VNET_HW_INTERFACE_RX_MODE_ADAPTIVE)
+ if (mode == VNET_HW_IF_RX_MODE_ADAPTIVE)
return format (s, "adaptive");
return format (s, "unknown");
return format (s, "%u Kbps", link_speed);
}
+u8 *
+format_vnet_hw_interface_rss_queues (u8 * s, va_list * args)
+{
+ clib_bitmap_t *bitmap = va_arg (*args, clib_bitmap_t *);
+ int i;
+
+ if (bitmap == NULL)
+ return s;
+
+ if (bitmap)
+ {
+ /* *INDENT-OFF* */
+ clib_bitmap_foreach (i, bitmap) {
+ s = format (s, "%u ", i);
+ }
+ /* *INDENT-ON* */
+ }
+
+ return s;
+}
u8 *
format_vnet_hw_interface (u8 * s, va_list * args)
{
int hw_idx;
s = format (s, "Slave-Idx:");
- clib_bitmap_foreach (hw_idx, hi->bond_info, s =
- format (s, " %d", hw_idx));
+ clib_bitmap_foreach (hw_idx, hi->bond_info)
+ s = format (s, " %d", hw_idx);
}
else if (dev_class->format_device_name)
s = format (s, "%U", dev_class->format_device_name, hi->dev_instance);
s = format (s, "\n%ULink speed: %U", format_white_space, indent + 2,
format_vnet_hw_interface_link_speed, hi->link_speed);
+ if (hi->rss_queues)
+ {
+ s = format (s, "\n%URSS queues: %U", format_white_space, indent + 2,
+ format_vnet_hw_interface_rss_queues, hi->rss_queues);
+ }
+
if (verbose)
{
if (hw_class->format_device)
s = format (s,
"l2.feature_bitmap_input: %U, L2.feature_bitmap_output: %U",
- format_l2_input_features, o->l2.feature_bitmap, 0,
+ format_l2_input_feature_bitmap, o->l2.feature_bitmap, 0,
format_l2_output_features, o->l2.feature_bitmap, 0);
vec_add1 (s, '\n');