app/procinfo: add crypto security context info
authorHemant Agrawal <hemant.agrawal@nxp.com>
Thu, 24 Sep 2020 05:34:32 +0000 (22:34 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 19 Oct 2020 22:43:30 +0000 (00:43 +0200)
If crypto context is not present, no point in displaying it.

This patch adds the crypto based security context info.
Also improve the flag printing to SECURITY OFFLOAD from
INLINE.

Use common code for displaying crypto context information
when doing show_ports and show_crypto.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
app/proc-info/main.c

index b2e6007..d2624e0 100644 (file)
@@ -654,6 +654,32 @@ metrics_display(int port_id)
        rte_free(names);
 }
 
+static void
+show_security_context(uint16_t portid)
+{
+       void *p_ctx = rte_eth_dev_get_sec_ctx(portid);
+       const struct rte_security_capability *s_cap;
+
+       if (p_ctx == NULL)
+               return;
+
+       printf("  - crypto context\n");
+       printf("\t  -- security context - %p\n", p_ctx);
+       printf("\t  -- size %u\n",
+              rte_security_session_get_size(p_ctx));
+
+       s_cap = rte_security_capabilities_get(p_ctx);
+       if (s_cap) {
+               printf("\t  -- action (0x%x), protocol (0x%x),"
+                      " offload flags (0x%x)\n",
+                      s_cap->action,
+                      s_cap->protocol,
+                      s_cap->ol_flags);
+               printf("\t  -- capabilities - oper type %x\n",
+                      s_cap->crypto_capabilities->op);
+       }
+}
+
 static void
 show_offloads(uint64_t offloads,
              const char *(show_offload)(uint64_t))
@@ -826,26 +852,8 @@ show_port(void)
                        }
                }
 
-               printf("  - cyrpto context\n");
 #ifdef RTE_LIB_SECURITY
-               void *p_ctx = rte_eth_dev_get_sec_ctx(i);
-               printf("\t  -- security context - %p\n", p_ctx);
-
-               if (p_ctx) {
-                       printf("\t  -- size %u\n",
-                                       rte_security_session_get_size(p_ctx));
-                       const struct rte_security_capability *s_cap =
-                               rte_security_capabilities_get(p_ctx);
-                       if (s_cap) {
-                               printf("\t  -- action (0x%x), protocol (0x%x),"
-                                               " offload flags (0x%x)\n",
-                                               s_cap->action,
-                                               s_cap->protocol,
-                                               s_cap->ol_flags);
-                               printf("\t  -- capabilities - oper type %x\n",
-                                               s_cap->crypto_capabilities->op);
-                       }
-               }
+               show_security_context(i);
 #endif
        }
 }
@@ -1151,7 +1159,7 @@ display_crypto_feature_info(uint64_t x)
        printf("\t\t  + AESNI: CPU (%c), HW (%c)\n",
                (x & RTE_CRYPTODEV_FF_CPU_AESNI) ? 'y' : 'n',
                (x & RTE_CRYPTODEV_FF_HW_ACCELERATED) ? 'y' : 'n');
-       printf("\t\t  + INLINE (%c)\n",
+       printf("\t\t  + SECURITY OFFLOAD (%c)\n",
                (x & RTE_CRYPTODEV_FF_SECURITY) ? 'y' : 'n');
        printf("\t\t  + ARM: NEON (%c), CE (%c)\n",
                (x & RTE_CRYPTODEV_FF_CPU_NEON) ? 'y' : 'n',
@@ -1185,14 +1193,14 @@ show_crypto(void)
 
                printf("  - device (%u)\n", i);
                printf("\t  -- name (%s)\n"
-                       "\t  -- driver (%s)\n"
-                       "\t  -- id (%u) on socket (%d)\n"
-                       "\t  -- queue pairs (%d)\n",
-                       rte_cryptodev_name_get(i),
-                       dev_info.driver_name,
-                       dev_info.driver_id,
-                       dev_info.device->numa_node,
-                       rte_cryptodev_queue_pair_count(i));
+                      "\t  -- driver (%s)\n"
+                      "\t  -- id (%u) on socket (%d)\n"
+                      "\t  -- queue pairs (%d)\n",
+                      rte_cryptodev_name_get(i),
+                      dev_info.driver_name,
+                      dev_info.driver_id,
+                      dev_info.device->numa_node,
+                      rte_cryptodev_queue_pair_count(i));
 
                display_crypto_feature_info(dev_info.feature_flags);
 
@@ -1200,14 +1208,18 @@ show_crypto(void)
                if (rte_cryptodev_stats_get(i, &stats) == 0) {
                        printf("\t  -- stats\n");
                        printf("\t\t  + enqueue count (%"PRIu64")"
-                               " error (%"PRIu64")\n",
-                               stats.enqueued_count,
-                               stats.enqueue_err_count);
+                              " error (%"PRIu64")\n",
+                              stats.enqueued_count,
+                              stats.enqueue_err_count);
                        printf("\t\t  + dequeue count (%"PRIu64")"
-                               " error (%"PRIu64")\n",
-                               stats.dequeued_count,
-                               stats.dequeue_err_count);
+                              " error (%"PRIu64")\n",
+                              stats.dequeued_count,
+                              stats.dequeue_err_count);
                }
+
+#ifdef RTE_LIBRTE_SECURITY
+               show_security_context(i);
+#endif
        }
 }