summaryrefslogtreecommitdiff
path: root/zebra/zebra_nb_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_nb_config.c')
-rw-r--r--zebra/zebra_nb_config.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/zebra/zebra_nb_config.c b/zebra/zebra_nb_config.c
index df95770307..ea2e20ed3b 100644
--- a/zebra/zebra_nb_config.c
+++ b/zebra/zebra_nb_config.c
@@ -1550,12 +1550,14 @@ int lib_route_map_entry_set_action_source_v4_modify(
if (pif != NULL)
break;
}
- if (pif == NULL) {
- snprintf(args->errmsg, args->errmsg_len,
- "is not a local address: %s",
- yang_dnode_get_string(args->dnode, NULL));
- return NB_ERR_VALIDATION;
- }
+ /*
+ * On startup the local address *may* not have come up
+ * yet. We need to allow startup configuration of
+ * set src or we are fudged. Log it for future fun
+ */
+ if (pif == NULL)
+ zlog_warn("set src %pI4 is not a local address",
+ &p.u.prefix4);
return NB_OK;
case NB_EV_PREPARE:
case NB_EV_ABORT:
@@ -1618,12 +1620,14 @@ int lib_route_map_entry_set_action_source_v6_modify(
if (pif != NULL)
break;
}
- if (pif == NULL) {
- snprintf(args->errmsg, args->errmsg_len,
- "is not a local adddress: %s",
- yang_dnode_get_string(args->dnode, NULL));
- return NB_ERR_VALIDATION;
- }
+ /*
+ * On startup the local address *may* not have come up
+ * yet. We need to allow startup configuration of
+ * set src or we are fudged. Log it for future fun
+ */
+ if (pif == NULL)
+ zlog_warn("set src %pI6 is not a local address",
+ &p.u.prefix6);
return NB_OK;
case NB_EV_PREPARE:
case NB_EV_ABORT: