X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Fpunt.c;h=7c2daf25ee4271b0843e4fce50fffcaa740d0533;hb=50f0ac0f0;hp=09f30f4f8105b30f0ef4e8d4baef467b0d2601f6;hpb=76b5649d074ab198cbf5737ac76d21649a61bffd;p=vpp.git diff --git a/src/vlib/punt.c b/src/vlib/punt.c index 09f30f4f810..7c2daf25ee4 100644 --- a/src/vlib/punt.c +++ b/src/vlib/punt.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Cisco and/or its affiliates. + * Copyright (c) 2019 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: @@ -366,6 +366,15 @@ vlib_punt_unregister (vlib_punt_hdl_t client, return (0); } +int +vlib_punt_reason_validate (vlib_punt_reason_t reason) +{ + if (reason < punt_reason_last) + return (0); + + return (-1); +} + int vlib_punt_reason_alloc (vlib_punt_hdl_t client, const char *reason_name, vlib_punt_reason_t * reason) @@ -392,6 +401,17 @@ vlib_punt_reason_alloc (vlib_punt_hdl_t client, return (0); } +void +punt_reason_walk (punt_reason_walk_cb_t cb, void *ctx) +{ + punt_reason_data_t *pd; + + vec_foreach (pd, punt_reason_data) + { + cb (pd->pd_reason, pd->pd_name, ctx); + } +} + /* Parse node name -> node index. */ uword unformat_punt_client (unformat_input_t * input, va_list * args)