af_packet: Add support for dump interfaces

Change-Id: I8d8ecc80edb7665125ba625a3ce7b30d2dea88f0
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
diff --git a/src/vnet/devices/af_packet/af_packet.c b/src/vnet/devices/af_packet/af_packet.c
index 2e2c8e6..f1a7b6a 100644
--- a/src/vnet/devices/af_packet/af_packet.c
+++ b/src/vnet/devices/af_packet/af_packet.c
@@ -471,6 +471,31 @@
   return 0;
 }
 
+int
+af_packet_dump_ifs (af_packet_if_detail_t ** out_af_packet_ifs)
+{
+  af_packet_main_t *apm = &af_packet_main;
+  af_packet_if_t *apif;
+  af_packet_if_detail_t *r_af_packet_ifs = NULL;
+  af_packet_if_detail_t *af_packet_if = NULL;
+
+  vec_foreach (apif, apm->interfaces)
+  {
+    vec_add2 (r_af_packet_ifs, af_packet_if, 1);
+    af_packet_if->sw_if_index = apif->sw_if_index;
+    if (apif->host_if_name)
+      {
+	clib_memcpy (af_packet_if->host_if_name, apif->host_if_name,
+		     MIN (ARRAY_LEN (af_packet_if->host_if_name) - 1,
+			  strlen ((const char *) apif->host_if_name)));
+      }
+  }
+
+  *out_af_packet_ifs = r_af_packet_ifs;
+
+  return 0;
+}
+
 static clib_error_t *
 af_packet_init (vlib_main_t * vm)
 {