X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Finterface_format.c;h=2b691a66071a6b7cd3203853d8806350f1e67071;hb=b8b6fe4fcc9202b6811b90af8ac8f361dfff26bf;hp=507e2676ccb2976810de558e7febe2295c0b9b6a;hpb=9485d99bd3941b13abf7e47fc7e1d56f7b4fee55;p=vpp.git diff --git a/src/vnet/interface_format.c b/src/vnet/interface_format.c index 507e2676ccb..2b691a66071 100644 --- a/src/vnet/interface_format.c +++ b/src/vnet/interface_format.c @@ -130,6 +130,26 @@ format_vnet_hw_interface_link_speed (u8 * s, va_list * args) 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) @@ -172,6 +192,12 @@ format_vnet_hw_interface (u8 * s, va_list * args) 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) @@ -670,6 +696,34 @@ vnet_register_format_buffer_opaque2_helper (vnet_buffer_opquae_formatter_t fp) } +uword +unformat_vnet_buffer_flags (unformat_input_t * input, va_list * args) +{ + u32 *flagp = va_arg (*args, u32 *); + int rv = 0; + u32 flags = 0; + + while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) + { + /* Red herring, there is no such buffer flag */ + if (unformat (input, "avail8")) + return 0; +#define _(bit,enum,str,verbose) \ + else if (unformat (input, str)) \ + { \ + flags |= (1 << LOG2_VLIB_BUFFER_FLAG_USER(bit)); \ + rv = 1; \ + } + foreach_vnet_buffer_flag +#undef _ + else + break; + } + if (rv) + *flagp = flags; + return rv; +} + uword unformat_vnet_hw_interface (unformat_input_t * input, va_list * args) {