From bf938fdb9dafa3c330026394d9b6d291559ec993 Mon Sep 17 00:00:00 2001 From: Donald Lee Date: Sun, 4 Jul 2021 23:12:52 +0800 Subject: [PATCH] bgpd: Update bgpd example to call function Signed-off-by: Donald Lee --- bgpd/bgp_routemap.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c index 529abcbea0..0b22caaee7 100644 --- a/bgpd/bgp_routemap.c +++ b/bgpd/bgp_routemap.c @@ -367,10 +367,17 @@ route_match_script(void *rule, const struct prefix *prefix, void *object) const char *scriptname = rule; struct bgp_path_info *path = (struct bgp_path_info *)object; - struct frrscript *fs = frrscript_load(scriptname, NULL); + struct frrscript *fs = frrscript_new(scriptname); + if (!fs) { - zlog_err("Issue loading script rule; defaulting to no match"); + zlog_err("Issue loading script file; defaulting to no match"); + return RMAP_NOMATCH; + } + + if (frrscript_load(fs, "route_match", NULL)) { + zlog_err( + "Issue loading script function; defaulting to no match"); return RMAP_NOMATCH; } @@ -382,7 +389,7 @@ route_match_script(void *rule, const struct prefix *prefix, void *object) struct attr newattr = *path->attr; int result = frrscript_call( - fs, ("RM_FAILURE", (long long *)&lrm_status), + fs, "route_match", ("RM_FAILURE", (long long *)&lrm_status), ("RM_NOMATCH", (long long *)&status_nomatch), ("RM_MATCH", (long long *)&status_match), ("RM_MATCH_AND_CHANGE", (long long *)&status_match_and_change), -- 2.39.5