summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isisd/isis_cli.c28
-rw-r--r--yang/frr-isisd.yang2
2 files changed, 13 insertions, 17 deletions
diff --git a/isisd/isis_cli.c b/isisd/isis_cli.c
index 735e39a377..c86d929903 100644
--- a/isisd/isis_cli.c
+++ b/isisd/isis_cli.c
@@ -2365,31 +2365,27 @@ DEFPY_YANG (isis_frr_lfa_tiebreaker,
if (!level || strmatch(level, "level-1")) {
if (no) {
- snprintf(
- xpath, XPATH_MAXLEN,
- "./fast-reroute/level-1/lfa/tiebreaker[index='%s']",
- index_str);
+ snprintf(xpath, XPATH_MAXLEN,
+ "./fast-reroute/level-1/lfa/tiebreaker[index='%s'][type='%s']",
+ index_str, type);
nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
} else {
- snprintf(
- xpath, XPATH_MAXLEN,
- "./fast-reroute/level-1/lfa/tiebreaker[index='%s']/type",
- index_str);
+ snprintf(xpath, XPATH_MAXLEN,
+ "./fast-reroute/level-1/lfa/tiebreaker[index='%s'][type='%s']/type",
+ index_str, type);
nb_cli_enqueue_change(vty, xpath, NB_OP_CREATE, type);
}
}
if (!level || strmatch(level, "level-2")) {
if (no) {
- snprintf(
- xpath, XPATH_MAXLEN,
- "./fast-reroute/level-2/lfa/tiebreaker[index='%s']",
- index_str);
+ snprintf(xpath, XPATH_MAXLEN,
+ "./fast-reroute/level-2/lfa/tiebreaker[index='%s'][type='%s']",
+ index_str, type);
nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
} else {
- snprintf(
- xpath, XPATH_MAXLEN,
- "./fast-reroute/level-2/lfa/tiebreaker[index='%s']/type",
- index_str);
+ snprintf(xpath, XPATH_MAXLEN,
+ "./fast-reroute/level-2/lfa/tiebreaker[index='%s'][type='%s']/type",
+ index_str, type);
nb_cli_enqueue_change(vty, xpath, NB_OP_CREATE, type);
}
}
diff --git a/yang/frr-isisd.yang b/yang/frr-isisd.yang
index a3e073f626..228faa4f10 100644
--- a/yang/frr-isisd.yang
+++ b/yang/frr-isisd.yang
@@ -403,7 +403,7 @@ module frr-isisd {
"Limit backup computation up to the prefix priority.";
}
list tiebreaker {
- key "index";
+ key "index type";
unique "type";
description
"Configure tiebreaker for multiple backups.";