[quagga-dev 10037] [PATCH 1/2] isisd: fix metrics check for metric-style narrow

Christian Franke chris at opensourcerouting.org
Tue Nov 27 20:51:59 GMT 2012


When switching to narrow metric style, all configured circuits are
verified to have a valid narrow style metric. Check te_metric instead
of metric_default as the latter is only 8bit wide and may overflow for
wide style metrics.

Signed-off-by: Christian Franke <chris at opensourcerouting.org>
---
 isisd/isisd.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/isisd/isisd.c b/isisd/isisd.c
index 47675f0..28cd051 100644
--- a/isisd/isisd.c
+++ b/isisd/isisd.c
@@ -2054,7 +2054,7 @@ validate_metric_style_narrow (struct vty *vty, struct isis_area *area)
     {
       if ((area->is_type & IS_LEVEL_1) &&
           (circuit->is_type & IS_LEVEL_1) &&
-          (circuit->metrics[0].metric_default > MAX_NARROW_LINK_METRIC))
+          (circuit->te_metric[0] > MAX_NARROW_LINK_METRIC))
         {
           vty_out (vty, "ISIS circuit %s metric is invalid%s",
                    circuit->interface->name, VTY_NEWLINE);
@@ -2062,7 +2062,7 @@ validate_metric_style_narrow (struct vty *vty, struct isis_area *area)
         }
       if ((area->is_type & IS_LEVEL_2) &&
           (circuit->is_type & IS_LEVEL_2) &&
-          (circuit->metrics[1].metric_default > MAX_NARROW_LINK_METRIC))
+          (circuit->te_metric[1] > MAX_NARROW_LINK_METRIC))
         {
           vty_out (vty, "ISIS circuit %s metric is invalid%s",
                    circuit->interface->name, VTY_NEWLINE);
-- 
1.7.10.4




More information about the Quagga-dev mailing list