diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 84b8cec565..83d0aa4327 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -1307,6 +1307,8 @@ DEFUN (ip_router_isis, vty->node = INTERFACE_NODE; vty->index = ifp; + if (circuit->ipv6_router) + lsp_regenerate_schedule(circuit->area, circuit->is_type, 0); return rv; } @@ -1348,10 +1350,10 @@ DEFUN (no_ip_router_isis, circuit->ip_router = 0; area->ip_circuits--; -#ifdef HAVE_IPV6 if (circuit->ipv6_router == 0) -#endif isis_csm_state_change (ISIS_DISABLE, circuit, area); + else + lsp_regenerate_schedule(area, circuit->is_type, 0); return CMD_SUCCESS; } @@ -1415,6 +1417,8 @@ DEFUN (ipv6_router_isis, vty->node = INTERFACE_NODE; vty->index = ifp; + if (circuit->ip_router) + lsp_regenerate_schedule(circuit->area, circuit->is_type, 0); return rv; } @@ -1458,6 +1462,8 @@ DEFUN (no_ipv6_router_isis, area->ipv6_circuits--; if (circuit->ip_router == 0) isis_csm_state_change (ISIS_DISABLE, circuit, area); + else + lsp_regenerate_schedule(area, circuit->is_type, 0); return CMD_SUCCESS; }