isisd: drop unused per-type metric values
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>
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index 9032de4..aac8451 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -1544,7 +1544,10 @@
{
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));
@@ -1569,7 +1572,7 @@
((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]);
@@ -1604,7 +1607,7 @@
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]);
@@ -1643,7 +1646,10 @@
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))
{
@@ -1675,7 +1681,7 @@
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);
@@ -1722,7 +1728,10 @@
}
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));