summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--staticd/static_vty.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/staticd/static_vty.c b/staticd/static_vty.c
index 3e58a44aa..d5fd0e3a2 100644
--- a/staticd/static_vty.c
+++ b/staticd/static_vty.c
@@ -1374,6 +1374,7 @@ int static_nexthop_cli_cmp(const struct lyd_node *dnode1,
{
enum static_nh_type nh_type1, nh_type2;
struct prefix prefix1, prefix2;
+ const char *vrf1, *vrf2;
int ret = 0;
nh_type1 = yang_dnode_get_enum(dnode1, "./nh-type");
@@ -1413,8 +1414,14 @@ int static_nexthop_cli_cmp(const struct lyd_node *dnode1,
if (ret)
return ret;
- return if_cmp_name_func(yang_dnode_get_string(dnode1, "./vrf"),
- yang_dnode_get_string(dnode2, "./vrf"));
+ vrf1 = yang_dnode_get_string(dnode1, "./vrf");
+ if (strmatch(vrf1, "default"))
+ vrf1 = "";
+ vrf2 = yang_dnode_get_string(dnode2, "./vrf");
+ if (strmatch(vrf2, "default"))
+ vrf2 = "";
+
+ return if_cmp_name_func(vrf1, vrf2);
}
int static_route_list_cli_cmp(const struct lyd_node *dnode1,