X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Faf_packet%2Faf_packet.c;h=f1a7b6ad21ca0dbb0c6db6cf630590d6f157c816;hb=refs%2Fchanges%2F72%2F12772%2F3;hp=2e2c8e64dc3ff4761e0aefd4b434d8e66e3a2e11;hpb=0353a4b33210936cb8820d2430ea8bf925c4581b;p=vpp.git diff --git a/src/vnet/devices/af_packet/af_packet.c b/src/vnet/devices/af_packet/af_packet.c index 2e2c8e64dc3..f1a7b6ad21c 100644 --- a/src/vnet/devices/af_packet/af_packet.c +++ b/src/vnet/devices/af_packet/af_packet.c @@ -471,6 +471,31 @@ af_packet_set_l4_cksum_offload (vlib_main_t * vm, u32 sw_if_index, u8 set) 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) {