lib: Convert routemap.c to use new error-code subsystem

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2018-08-20 10:21:03 -04:00 committed by Quentin Young
parent ff245f0e02
commit 040c7c3a9f
3 changed files with 10 additions and 1 deletions

View file

@ -46,6 +46,12 @@ static struct log_ref ferr_lib_warn[] = {
.description = "The Event subsystem has detected a slow process, this typically indicates that FRR is having trouble completing work in a timely manner. This can be either a misconfiguration, bug, or some combination therof.",
.suggestion = "Gather log data and open an Issue",
},
{
.code = LIB_WARN_RMAP_RECURSION_LIMIT,
.title = "Reached the Route-Map Recursion Limit",
.description = "The Route-Map subsystem has detected a route-map depth of RMAP_RECURSION_LIMIT and has stopped processing",
.suggestion = "Re-work the Route-Map in question to not have so many route-map statements, or recompile FRR with a higher limit",
},
{
.code = END_FERR,
},

View file

@ -42,6 +42,7 @@ enum lib_log_refs {
LIB_WARN_STREAM,
LIB_WARN_LINUX_NS,
LIB_WARN_SLOW_THREAD,
LIB_WARN_RMAP_RECURSION_LIMIT,
};
extern void lib_error_init(void);

View file

@ -30,6 +30,7 @@
#include "log.h"
#include "hash.h"
#include "libfrr.h"
#include "lib_errors.h"
DEFINE_MTYPE_STATIC(LIB, ROUTE_MAP, "Route map")
DEFINE_MTYPE(LIB, ROUTE_MAP_NAME, "Route map name")
@ -1445,7 +1446,8 @@ route_map_result_t route_map_apply(struct route_map *map,
struct route_map_rule *set;
if (recursion > RMAP_RECURSION_LIMIT) {
zlog_warn(
flog_warn(
LIB_WARN_RMAP_RECURSION_LIMIT,
"route-map recursion limit (%d) reached, discarding route",
RMAP_RECURSION_LIMIT);
recursion = 0;