diff options
Diffstat (limited to 'staticd/static_nb_config.c')
| -rw-r--r-- | staticd/static_nb_config.c | 7 |
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: |
