isisd.c : set/reset overload-bit using "set-overload-bit" or "no set-overload-bit" commands fails to set the bit in LSP header. This is because area = vty->index does not find a valid area.
Signed-off-by: Amritha Nambiar <[email protected]> --- isisd/isisd.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/isisd/isisd.c b/isisd/isisd.c index 9c9b918..287ef81 100644 --- a/isisd/isisd.c +++ b/isisd/isisd.c @@ -2143,12 +2143,13 @@ DEFUN (set_overload_bit, "Set overload bit\n") { struct isis_area *area; + struct listnode *anode; - area = vty->index; - assert (area); - - area->overload_bit = LSPBIT_OL; - lsp_regenerate_schedule (area, IS_LEVEL_1 | IS_LEVEL_2, 1); + for (ALL_LIST_ELEMENTS_RO (isis->area_list, anode, area)) + { + area->overload_bit = LSPBIT_OL; + lsp_regenerate_schedule (area, IS_LEVEL_1 | IS_LEVEL_2, 1); + } return CMD_SUCCESS; } @@ -2160,13 +2161,13 @@ DEFUN (no_set_overload_bit, "Reset overload bit\n") { struct isis_area *area; + struct listnode *anode; - area = vty->index; - assert (area); - - area->overload_bit = 0; - lsp_regenerate_schedule (area, IS_LEVEL_1 | IS_LEVEL_2, 1); - + for (ALL_LIST_ELEMENTS_RO (isis->area_list, anode, area)) + { + area->overload_bit = 0; + lsp_regenerate_schedule (area, IS_LEVEL_1 | IS_LEVEL_2, 1); + } return CMD_SUCCESS; } _______________________________________________ Quagga-dev mailing list [email protected] https://lists.quagga.net/mailman/listinfo/quagga-dev
