summaryrefslogtreecommitdiff
path: root/ospfd/ospf_zebra.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospfd/ospf_zebra.c')
-rw-r--r--ospfd/ospf_zebra.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c
index 5a722e05..aaee31e1 100644
--- a/ospfd/ospf_zebra.c
+++ b/ospfd/ospf_zebra.c
@@ -576,21 +576,15 @@ int
ospf_redistribute_default_set (struct ospf *ospf, int originate,
int mtype, int mvalue)
{
- int force = 0;
+ ospf->default_originate = originate;
+ ospf->dmetric[DEFAULT_ROUTE].type = mtype;
+ ospf->dmetric[DEFAULT_ROUTE].value = mvalue;
if (ospf_is_type_redistributed (DEFAULT_ROUTE))
{
- if (mtype != ospf->dmetric[DEFAULT_ROUTE].type)
- {
- ospf->dmetric[DEFAULT_ROUTE].type = mtype;
- force = 1;
- }
- if (mvalue != ospf->dmetric[DEFAULT_ROUTE].value)
- {
- force = 1;
- ospf->dmetric[DEFAULT_ROUTE].value = mvalue;
- }
-
+ /* if ospf->default_originate changes value, is calling
+ ospf_external_lsa_refresh_default sufficient to implement
+ the change? */
ospf_external_lsa_refresh_default (ospf);
if (IS_DEBUG_OSPF (zebra, ZEBRA_REDISTRIBUTE))
@@ -601,10 +595,6 @@ ospf_redistribute_default_set (struct ospf *ospf, int originate,
return CMD_SUCCESS;
}
- ospf->default_originate = originate;
- ospf->dmetric[DEFAULT_ROUTE].type = mtype;
- ospf->dmetric[DEFAULT_ROUTE].value = mvalue;
-
zclient_redistribute_default (ZEBRA_REDISTRIBUTE_DEFAULT_ADD, zclient);
if (IS_DEBUG_OSPF (zebra, ZEBRA_REDISTRIBUTE))