forked from Mirror/frr
lib: Convert routemap.c to use new error-code subsystem
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
ff245f0e02
commit
040c7c3a9f
|
@ -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.",
|
.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",
|
.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,
|
.code = END_FERR,
|
||||||
},
|
},
|
||||||
|
|
|
@ -42,6 +42,7 @@ enum lib_log_refs {
|
||||||
LIB_WARN_STREAM,
|
LIB_WARN_STREAM,
|
||||||
LIB_WARN_LINUX_NS,
|
LIB_WARN_LINUX_NS,
|
||||||
LIB_WARN_SLOW_THREAD,
|
LIB_WARN_SLOW_THREAD,
|
||||||
|
LIB_WARN_RMAP_RECURSION_LIMIT,
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void lib_error_init(void);
|
extern void lib_error_init(void);
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "hash.h"
|
#include "hash.h"
|
||||||
#include "libfrr.h"
|
#include "libfrr.h"
|
||||||
|
#include "lib_errors.h"
|
||||||
|
|
||||||
DEFINE_MTYPE_STATIC(LIB, ROUTE_MAP, "Route map")
|
DEFINE_MTYPE_STATIC(LIB, ROUTE_MAP, "Route map")
|
||||||
DEFINE_MTYPE(LIB, ROUTE_MAP_NAME, "Route map name")
|
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;
|
struct route_map_rule *set;
|
||||||
|
|
||||||
if (recursion > RMAP_RECURSION_LIMIT) {
|
if (recursion > RMAP_RECURSION_LIMIT) {
|
||||||
zlog_warn(
|
flog_warn(
|
||||||
|
LIB_WARN_RMAP_RECURSION_LIMIT,
|
||||||
"route-map recursion limit (%d) reached, discarding route",
|
"route-map recursion limit (%d) reached, discarding route",
|
||||||
RMAP_RECURSION_LIMIT);
|
RMAP_RECURSION_LIMIT);
|
||||||
recursion = 0;
|
recursion = 0;
|
||||||
|
|
Loading…
Reference in a new issue