summaryrefslogtreecommitdiff
path: root/staticd/static_nb_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'staticd/static_nb_config.c')
-rw-r--r--staticd/static_nb_config.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/staticd/static_nb_config.c b/staticd/static_nb_config.c
index d1b2c9eaa6..9ccffe53d9 100644
--- a/staticd/static_nb_config.c
+++ b/staticd/static_nb_config.c
@@ -115,7 +115,7 @@ static int static_path_list_tag_modify(struct nb_cb_modify_args *args)
}
struct nexthop_iter {
- int count;
+ uint32_t count;
bool blackhole;
};
@@ -171,6 +171,11 @@ static bool static_nexthop_create(struct nb_cb_create_args *args)
args->errmsg, args->errmsg_len,
"Route cannot have blackhole and non-blackhole nexthops simultaneously");
return NB_ERR_VALIDATION;
+ } else if (iter.count > zebra_ecmp_count) {
+ snprintf(args->errmsg, args->errmsg_len,
+ "Route cannot have more than %d ECMP nexthops",
+ zebra_ecmp_count);
+ return NB_ERR_VALIDATION;
}
break;
case NB_EV_PREPARE: