]> git.proxmox.com Git - mirror_frr.git/commitdiff
isisd: drop unused per-type metric values
authorDavid Lamparter <equinox@opensourcerouting.org>
Thu, 28 Jul 2016 15:23:32 +0000 (17:23 +0200)
committerDonald Sharp <sharpd@cumulusnetwroks.com>
Thu, 28 Jul 2016 15:08:49 +0000 (11:08 -0400)
Expense, Error and Delay metrics never quite made it into the real
world.  Either way isisd does nothing useful with them, so let's drop
them from the code.  If someone wants to implement them, this patch can
still be reverted.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
isisd/isis_circuit.c
isisd/isis_circuit.h
isisd/isis_lsp.c

index cac1065d44c7def842b3bc60973acc70cdb9daeb..d8ca694d59a21192a1793d41702aac30a7d935d5 100644 (file)
@@ -92,10 +92,7 @@ isis_circuit_new ()
       circuit->csnp_interval[i] = DEFAULT_CSNP_INTERVAL;
       circuit->psnp_interval[i] = DEFAULT_PSNP_INTERVAL;
       circuit->priority[i] = DEFAULT_PRIORITY;
-      circuit->metrics[i].metric_default = DEFAULT_CIRCUIT_METRIC;
-      circuit->metrics[i].metric_expense = METRICS_UNSUPPORTED;
-      circuit->metrics[i].metric_error = METRICS_UNSUPPORTED;
-      circuit->metrics[i].metric_delay = METRICS_UNSUPPORTED;
+      circuit->metric[i] = DEFAULT_CIRCUIT_METRIC;
       circuit->te_metric[i] = DEFAULT_CIRCUIT_METRIC;
     }
 
@@ -899,7 +896,7 @@ isis_circuit_print_vty (struct isis_circuit *circuit, struct vty *vty,
             vty_out (vty, "      Metric: %d", circuit->te_metric[0]);
           else
             vty_out (vty, "      Metric: %d",
-                     circuit->metrics[0].metric_default);
+                     circuit->metric[0]);
           if (!circuit->is_passive)
             {
               vty_out (vty, ", Active neighbors: %u%s",
@@ -932,7 +929,7 @@ isis_circuit_print_vty (struct isis_circuit *circuit, struct vty *vty,
             vty_out (vty, "      Metric: %d", circuit->te_metric[1]);
           else
             vty_out (vty, "      Metric: %d",
-                     circuit->metrics[1].metric_default);
+                     circuit->metric[1]);
           if (!circuit->is_passive)
             {
               vty_out (vty, ", Active neighbors: %u%s",
@@ -1303,7 +1300,7 @@ isis_circuit_metric_set (struct isis_circuit *circuit, int level, int metric)
     return -1;
 
   circuit->te_metric[level - 1] = metric;
-  circuit->metrics[level - 1].metric_default = metric;
+  circuit->metric[level - 1] = metric;
 
   if (circuit->area)
     lsp_regenerate_schedule (circuit->area, level, 0);
index 45bac093743a1129221b86a005b736a985dd37c1..9d6e426d41aa6e7adce8be8c688402d915602d1d 100644 (file)
@@ -117,7 +117,7 @@ struct isis_circuit
   u_int16_t hello_multiplier[2];       /* l1HelloMultiplier */
   u_int16_t csnp_interval[2];  /* level-1 csnp-interval in seconds */
   u_int16_t psnp_interval[2];  /* level-1 psnp-interval in seconds */
-  struct metric metrics[2];    /* l1XxxMetric */
+  u_int8_t  metric[2];
   u_int32_t te_metric[2];
   int ip_router;               /* Route IP ? */
   int is_passive;              /* Is Passive ? */
index 730924861177226b7ee09d27f7b1a8220433dff4..81f1958e63cd2bfaa5344ecd4e222bdc0f814866 100644 (file)
@@ -1481,7 +1481,10 @@ lsp_build (struct isis_lsp *lsp, struct isis_area *area)
                {
                  ipreach =
                    XMALLOC (MTYPE_ISIS_TLV, sizeof (struct ipv4_reachability));
-                 ipreach->metrics = circuit->metrics[level - 1];
+                 ipreach->metrics.metric_default = circuit->metric[level - 1];
+                 ipreach->metrics.metric_expense = METRICS_UNSUPPORTED;
+                 ipreach->metrics.metric_error = METRICS_UNSUPPORTED;
+                 ipreach->metrics.metric_delay = METRICS_UNSUPPORTED;
                  masklen2ip (ipv4->prefixlen, &ipreach->mask);
                  ipreach->prefix.s_addr = ((ipreach->mask.s_addr) &
                                            (ipv4->prefix.s_addr));
@@ -1506,7 +1509,7 @@ lsp_build (struct isis_lsp *lsp, struct isis_area *area)
                                        ((ipv4->prefixlen + 7)/8) - 1);
 
                  if (area->oldmetric)
-                   te_ipreach->te_metric = htonl (circuit->metrics[level - 1].metric_default);
+                   te_ipreach->te_metric = htonl (circuit->metric[level - 1]);
                  else
                    te_ipreach->te_metric = htonl (circuit->te_metric[level - 1]);
 
@@ -1541,7 +1544,7 @@ lsp_build (struct isis_lsp *lsp, struct isis_area *area)
 
              if (area->oldmetric)
                ip6reach->metric =
-                         htonl (circuit->metrics[level - 1].metric_default);
+                         htonl (circuit->metric[level - 1]);
              else
                  ip6reach->metric = htonl (circuit->te_metric[level - 1]);
 
@@ -1580,7 +1583,10 @@ lsp_build (struct isis_lsp *lsp, struct isis_area *area)
                  else
                    memcpy (is_neigh->neigh_id,
                            circuit->u.bc.l2_desig_is, ISIS_SYS_ID_LEN + 1);
-                 is_neigh->metrics = circuit->metrics[level - 1];
+                 is_neigh->metrics.metric_default = circuit->metric[level - 1];
+                 is_neigh->metrics.metric_expense = METRICS_UNSUPPORTED;
+                 is_neigh->metrics.metric_error = METRICS_UNSUPPORTED;
+                 is_neigh->metrics.metric_delay = METRICS_UNSUPPORTED;
                   if (!memcmp (is_neigh->neigh_id, zero_id,
                                ISIS_SYS_ID_LEN + 1))
                     {
@@ -1612,7 +1618,7 @@ lsp_build (struct isis_lsp *lsp, struct isis_area *area)
                    memcpy (te_is_neigh->neigh_id,
                            circuit->u.bc.l2_desig_is, ISIS_SYS_ID_LEN + 1);
                  if (area->oldmetric)
-                   metric = circuit->metrics[level - 1].metric_default;
+                   metric = circuit->metric[level - 1];
                  else
                    metric = circuit->te_metric[level - 1];
                  SET_TE_METRIC(te_is_neigh, metric);
@@ -1651,7 +1657,10 @@ lsp_build (struct isis_lsp *lsp, struct isis_area *area)
                    }
                  is_neigh = XCALLOC (MTYPE_ISIS_TLV, sizeof (struct is_neigh));
                  memcpy (is_neigh->neigh_id, nei->sysid, ISIS_SYS_ID_LEN);
-                 is_neigh->metrics = circuit->metrics[level - 1];
+                 is_neigh->metrics.metric_default = circuit->metric[level - 1];
+                 is_neigh->metrics.metric_expense = METRICS_UNSUPPORTED;
+                 is_neigh->metrics.metric_error = METRICS_UNSUPPORTED;
+                 is_neigh->metrics.metric_delay = METRICS_UNSUPPORTED;
                  listnode_add (tlv_data.is_neighs, is_neigh);
                  lsp_debug("ISIS (%s): Adding old-style is reach for %s", area->area_tag,
                             sysid_print(is_neigh->neigh_id));