avf: validate queue size config
[vpp.git] / src / plugins / avf / format.c
index 4def8b5..2c4eaf7 100644 (file)
@@ -27,8 +27,7 @@ format_avf_device_name (u8 * s, va_list * args)
 {
   vlib_main_t *vm = vlib_get_main ();
   u32 i = va_arg (*args, u32);
-  avf_main_t *am = &avf_main;
-  avf_device_t *ad = vec_elt_at_index (am->devices, i);
+  avf_device_t *ad = avf_get_device (i);
   vlib_pci_addr_t *addr = vlib_pci_get_addr (vm, ad->pci_dev_handle);
 
   if (ad->name)
@@ -88,12 +87,19 @@ u8 *
 format_avf_device (u8 * s, va_list * args)
 {
   u32 i = va_arg (*args, u32);
-  avf_main_t *am = &avf_main;
-  avf_device_t *ad = vec_elt_at_index (am->devices, i);
+  avf_device_t *ad = avf_get_device (i);
   u32 indent = format_get_indent (s);
   u8 *a = 0;
-
-  s = format (s, "flags: %U", format_avf_device_flags, ad);
+  avf_rxq_t *rxq = vec_elt_at_index (ad->rxqs, 0);
+  avf_txq_t *txq = vec_elt_at_index (ad->txqs, 0);
+
+  s = format (s, "rx: queues %u, desc %u (min %u max %u)", ad->n_rx_queues,
+             rxq->size, AVF_QUEUE_SZ_MIN, AVF_QUEUE_SZ_MAX);
+  s = format (s, "\n%Utx: queues %u, desc %u (min %u max %u)",
+             format_white_space, indent, ad->n_tx_queues, txq->size,
+             AVF_QUEUE_SZ_MIN, AVF_QUEUE_SZ_MAX);
+  s = format (s, "\n%Uflags: %U", format_white_space, indent,
+             format_avf_device_flags, ad);
   s = format (s, "\n%Uoffload features: %U", format_white_space, indent,
              format_avf_vf_cap_flags, ad->feature_bitmap);
 
@@ -131,9 +137,9 @@ format_avf_input_trace (u8 * s, va_list * args)
   u32 indent = format_get_indent (s);
   int i = 0;
 
-  s = format (s, "avf: %v (%d) next-node %U",
-             hi->name, t->hw_if_index, format_vlib_next_node_name, vm,
-             node->index, t->next_index);
+  s = format (s, "avf: %v (%d) qid %u next-node %U",
+             hi->name, t->hw_if_index, t->qid, format_vlib_next_node_name,
+             vm, node->index, t->next_index);
 
   do
     {