X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Finterface_format.c;h=8278102c6440e87cb8d005003348045a2d5816cd;hb=08eb2bb205f998a75dacd1f3b999ec1a10160b35;hp=507e2676ccb2976810de558e7febe2295c0b9b6a;hpb=4422753b9f7edf7ff391f97a10c1b8a7dbd7dafb;p=vpp.git diff --git a/src/vnet/interface_format.c b/src/vnet/interface_format.c index 507e2676ccb..8278102c644 100644 --- a/src/vnet/interface_format.c +++ b/src/vnet/interface_format.c @@ -670,6 +670,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) {