]> git.puffer.fish Git - mirror/frr.git/commitdiff
[ospfd] Stop losing subsequent default-information originate 'always' info
authorAndrew J. Schorr <ajschorr@alumni.princeton.edu>
Tue, 24 Oct 2006 19:04:26 +0000 (19:04 +0000)
committerAndrew J. Schorr <ajschorr@alumni.princeton.edu>
Tue, 24 Oct 2006 19:04:26 +0000 (19:04 +0000)
2006-10-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_zebra.c: (ospf_redistribute_default_set) Fix bug where
  a new value for ospf->default_originate was being ignored
  if a previous 'default-information originate' command
  had already been processed.

ospfd/ChangeLog
ospfd/ospf_zebra.c

index 8a215e6b389609378bff9e9e40b76442acf523cf..d2b979aa886fd5daf64a3729da29e6086befdab7 100644 (file)
@@ -1,3 +1,10 @@
+2006-10-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_zebra.c: (ospf_redistribute_default_set) Fix bug where
+         a new value for ospf->default_originate was being ignored
+         if a previous 'default-information originate' command
+         had already been processed.
+
 2006-10-22 Yar Tikhiy <yar@comp.chem.msu.su>
 
        * (general) Add support for passive-interface default (with
index 5a722e0502cd3e8a97e753d2834d5acefdace7a5..aaee31e118a42442fcd953e1d65876344724fafa 100644 (file)
@@ -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))