]> git.proxmox.com Git - mirror_frr.git/commitdiff
isisd: warn if there is an MTU issue on circuits
authorChristian Franke <nobody@nowhere.ws>
Mon, 15 Aug 2016 11:36:59 +0000 (13:36 +0200)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 19 Aug 2016 17:33:59 +0000 (13:33 -0400)
Instead of later tripping over an assert, add a proper warning for
interfaces whose MTU is too low.

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

index efed4201617b735b06182d3997adc7be58179c41..728cbdc67dd9c34fbb0be3b3e6fe42acbf917dd2 100644 (file)
@@ -1230,7 +1230,8 @@ isis_circuit_create (struct isis_area *area, struct interface *ifp)
   if (circuit && circuit->area)
     return NULL;
   circuit = isis_csm_state_change (ISIS_ENABLE, circuit, area);
-  assert (circuit->state == C_STATE_CONF || circuit->state == C_STATE_UP);
+  if (circuit->state != C_STATE_CONF && circuit->state != C_STATE_UP)
+    return circuit;
   isis_circuit_if_bind (circuit, ifp);
   return circuit;
 }
index f9b96a42d824442e702c427ff6cef4395c32c6d0..4148eb55b9bc3d352ff396f7c41218ed325c4442 100644 (file)
@@ -86,9 +86,16 @@ DEFUN (ip_router_isis,
   if (!area)
     area = isis_area_create (area_tag);
 
-  if (!circuit || !circuit->area)
+  if (!circuit || !circuit->area) {
     circuit = isis_circuit_create (area, ifp);
 
+    if (circuit->state != C_STATE_CONF && circuit->state != C_STATE_UP)
+      {
+        vty_out(vty, "Couldn't bring up interface, please check log.%s", VTY_NEWLINE);
+        return CMD_WARNING;
+      }
+  }
+
   bool ip = circuit->ip_router, ipv6 = circuit->ipv6_router;
   if (af[2] != '\0')
     ipv6 = true;